package com.atguigu.bigdata.scala.chapter08

object Scala08_Match {

    def main(args: Array[String]): Unit = {

        // TODO - 偏函数
        // 古语：以偏概全
        // 这个偏表示的就是部分数据
        // 这里的全指的就是全部数据
        // 所谓的偏函数其实就是一个只对数据集中部分数据进行处理的函数
        //val list = List(1,2,3,4)
        //println(list.map(_ * 2))

        // TODO 将该List(1,2,3,4,5,6,"test")中的Int类型的元素加一，并去掉字符串
        val list : List[Any] = List(1,2,3,4,5,6,"test")
//        list.map(
//            data => {
//                data + 1
//            }
//        )
//        val newlist = list.map {
//            case i:Int => i + 1
//            case other => other
//        }
//
//        val newlist1 = newlist.filter(
//            _.isInstanceOf[Int]
//        )
//        println(newlist1)

        // 使用偏函数对数据进行处理，要求函数支持偏函数处理
        // collect方法表示采集数据，将符合规则的数据采集过来，不符合规则的数据就不要了
        println(list.collect{ case i:Int => i + 1})
    }
}
